In a certain kind of distributed data store, a node which stores data specified from a key differs for every key of data. There is a case where data of an identical key is redundantly stored in a plurality of nodes in a distributed data store from a viewpoint of failure resistance. Further, there is a case where the number of nodes in the distributed data store is dynamically increased or decreased without stopping service as a data store.
In such distributed data store, a node for storing data specified from a key is determined from a plurality of nodes for every key of data (so called, key space division). As a method of related art, there is such method that one hash function h( ) is determined and a hash value h(k) obtained by inputting a key “k” of data into the hash function h( ) is divided by the number of nodes so as to determine a node for storing the data by the remainder of the division.
As a technique of related art, there is such technique that weight is preliminarily set for every node and an identifier space handled by a node (a range of a hash value handled by a node, for example) is divided based on the weight, for example (refer to Japanese Laid-open Patent Publication No. 2010-134630, for example). As another technique of related art, there is such technique that a file is divided by a plurality of information processing apparatuses so as to maintain the divided file, for example (refer to Japanese Patent No. 4068473, for example).